#include <pthread.h>
#include <iostream>
#include <unistd.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/un.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <sys/types.h>
#include <vector>
#include <string>
#include <cstring>
#include <list>

//define
#define SERVER 1
#define CLIENT 0
#define MAX_CLIENT 255
/*
lees de socket.h file door.
en lees /usr/include/netinet/in.h
en lees eens de rfc
*/

/*
Geschren door Sander Demeester, een tcp/ip chat based appl. :)
*/

using namespace std;


/*
Informatie over de threads die zullen worden gemaakt
*/

int nummerVanThreads = 0; //een counter die kijkt hoeveel threads er zijn gemaakt
unsigned long  ThreadHandlers[MAX_CLIENT];


#include "object.h"
#include "function.h"
#include "cmdparser.cpp"
#include "networkInit.cpp"
#include "coala.cpp"

#include "function.cpp"



int main(int argc, char *arch[])
{
  #ifdef debug
  cout << "------------------------\n";
  cout << "       DEBUG\n";
  cout << "------------------------\n";
  #endif
  
  //de -1 is om de 0 char niet te includen. alhoewel we dit beter zouden doen om eventuele fouten op te sporen. NOg eens over denken :)
  coala test;
  string UserInput;
  test.cliParser((argc-1), &arch[0]);
  #ifdef debug
  test.showConfig();
  #endif
  test.setupNetwork();
  getline(cin, UserInput);
  return 0;
}
